home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Auge 4000 / Auge 4000 #57 (1991-08-02)(Amiga User Gruppe Einzugsgebiet 4000).zip / Auge 4000 #57 (1991-08-02)(Amiga User Gruppe Einzugsgebiet 4000).adf / ZKick / ZKick.doc < prev    next >
Text File  |  1991-08-01  |  6KB  |  185 lines

  1.  
  2.  
  3.     ZKick V2.23a -- Copyright (C) 1990 by Daniel Zenchelsky
  4.             Modified in 1991 by Marco Lusini
  5.  
  6.         This program may be freely copied, as long as all copyright
  7.         notices are left intact and unchanged.
  8.  
  9. -----------------------------------------------------------------------------
  10.  
  11. Overview
  12. --------
  13.  
  14.     ZKick  is  a  KickStart  2.0  kickfile loader, similar to KickIt by
  15. Bryce  Nesbitt, but with several advantages.  First of all, ZKick will work
  16. in  ANY  Amiga  with  a ram board at $200000, no matter which slot it's in.
  17. Second,  when  ZKick  loads  KickStart, it survives a reboot!  When you hit
  18. CTRL-AMIGA-AMIGA,  you  are placed back in KickStart 2.0.  This feature can
  19. be disabled with the "-die" option.
  20.  
  21.     NOTE:  ZKick is only useful for developers who have an Amiga 500/2000
  22. kickfile from Commodore.  It will NOT work with a 3000 KickStart file.
  23.  
  24.  
  25. Theory of operation
  26. -------------------
  27.  
  28.     ZKick  works  by  building  a  table  of  expansion  devices  under
  29. KickStart  1.3  (1.2),  adding  a  ROMTag  to  the  resident list, patching
  30. ColdCapture  and  CoolCapture, loading KickStart 2.0 into memory at $200000
  31. and  reseting  the  machine.   When  1.3 starts up, the ColdCapture routine
  32. skips  the >512k chip ram test normally done by exec.  Normally exec clears
  33. all  of  chip  ram if it finds more than 512k of it.  Then, the CoolCapture
  34. routine  patches  exec  to  keep it from stomping on the first few bytes of
  35. memory at $200000.  Expansion library (still under 1.3) then configures all
  36. of  the  AutoConfig  devices.   Next, our ROMTag is executed, which detects
  37. that it is still under 1.3 and jumps to the start of KickStart 2.0.
  38.  
  39.     Now  we're  running  under KickStart 2.0.  Expansion library is the
  40. first  thing  executed,  but  it doesn't find any expansion devices because
  41. they  were all configured by the 1.3 expansion library.  Then the ROMTag is
  42. again executed.  It adds all of the expansion devices previously configured
  43. by 1.3 expansion library to the 2.0 expansion library's ConfigDev list, and
  44. all  of  the  memory boards to exec's memory list.  From here on the normal
  45. startup is taken, during which each board is initialized.
  46.  
  47.  
  48. Requirements
  49. ------------
  50.  
  51.     1)  Total memory must be 1.5M or greater.
  52.     2)  There must be a 512k or greater ram board at location $200000.
  53.  
  54.  
  55. Usage
  56. -----
  57.  
  58.     ZKick [options] kickfile
  59.  
  60.  
  61. Options
  62. -------
  63.  
  64.     The -debug option will let you see all kinds of debugging information.
  65.  
  66.     The -print option will cause ZKick to dump more debugging information
  67. to the printer.
  68.  
  69.     The  -die option is used to tell ZKick not to survive reboots, so that
  70. when the machine is reset, the KickStart ROM will be run instead.
  71.  
  72.     The  -mmu  option  will cause ZKick to reset the MMU, if it exists.
  73. *NOTE* This is different than the previous versions.
  74.  
  75.     The  -noreset  option  causes ZKick to skip the initial RESET and just
  76. jump  into  KickStart.  This option is useful with some GVP boards which do
  77. not pass the RESET signal properly.
  78.  
  79.     The  -nochecksum  option  will  keep ZKick from going to 1.3 if the
  80. KickStart checksum is not valid.
  81.  
  82. (Using the options -noreset and -nochecksum together will make ZKick behave
  83. as it did in version 2.01)
  84.  
  85.  
  86. KillZKick
  87. ---------
  88.  
  89.     Also  included  is  the program KillZKick.  KillZKick removes ZKick
  90. from memory, and reboots the system with the KickStart ROM.
  91.  
  92.  
  93. Troubleshooting
  94. ---------------
  95.  
  96.     If  you  can't get ZKick to work, make sure you're using a 500/2000
  97. version  of  KickStart,  version  36.141  (Release 2.0) or higher.  Try the
  98. following things before contacting me:
  99.  
  100.     1) Try using "ZKick -noreset Kickfile"
  101.  
  102.     If  this  fails,  set up your printer correctly and use the command
  103. "ZKick  -debug  -print Kickfile." Mail me a copy of the output along with a
  104. COMPLETE  description of your hardware configuration, and hopefully I'll be
  105. able to determine the problem.
  106.  
  107.  
  108. Reaching me
  109. -----------
  110.  
  111.     I   can   be   reached   on  Bix  as  dzenc,  on  the  internet  as
  112. dzenc@gnu.ai.mit.edu, or on bitnet as dzenc%gnu.ai.mit.edu@mitvma.bitnet.
  113.  
  114.  
  115. Special thanks to
  116. -----------------
  117.  
  118.     Dan Babcock for sending me an excellent article that he wrote which
  119. showed  how  to  set up RomTag modules correctly, as well as his many ideas
  120. for bug fixes and improvements.
  121.  
  122.     Dave Haynie, for the MMU code which I pilfered from SetCPU.
  123.  
  124. And my beta testers:
  125.  
  126.     Martin Allred
  127.     Joanne Dow
  128.     Frank Edwards
  129.     Valentin Pepelea
  130.     Erik Quackenbush (even though his flakey hardware caused most of
  131.                       the problems :-)
  132.     Mike Thomas
  133.     
  134. Apologies to anyone I missed.
  135.  
  136.  
  137. History
  138. -------
  139.  
  140.     ZKick  2.23a installs its ROMTag in a polite way, keeping all other
  141. Tags installed.  The Cool routine clears CoolCapture in ExecBase to support
  142. version  37.059.   Now  KillZKick removes only ZKick ROMTag and clears only
  143. the CoolCapture entry in ExecBase.
  144.  
  145.     ZKick  2.23 adds support for delayed GURUs.  Normally, exec pokes a
  146. "HELP"  into  location  0,  stores the GURU info at $0100, and restarts the
  147. machine.   When  exec  is  restarted,  it  checks location zero for "HELP,"
  148. stores  the GURU info in ExecBase, and clears location 0.  Later, exec pops
  149. up  an  alert.   The problem is that ZKick starts KickStart 2.0 before exec
  150. gets  a  chance  to display the alert.  ZKick now checks for a delayed GURU
  151. and pokes "HELP" back into location 0 before starting KickStart 2.0.
  152.  
  153.     ZKick 2.22 changes the default behavior to NOT reseting the mmu, as
  154. many  people  said  that  they  couldn't get it to work on 020/030 machines
  155. unless this option was off.
  156.  
  157.     ZKick  2.21 adds the "-print" option.
  158.  
  159.     ZKick  2.20 adds many new command line options.
  160.  
  161.     ZKick  2.10b  fixes  a problem which caused ZKick to configure each
  162. device twice.
  163.  
  164.     ZKick  2.10a  fixes  a  typo  in Zkick 2.10, which caused it not to
  165. recognize an MMU ('=' instead of '==').
  166.  
  167.     ZKick  2.10  employs better error checking.  In addition, if an MMU
  168. exists, it clears it before starting 2.0.
  169.  
  170.     ZKick  2.01  fixes  a  bug which caused ZKick not to work with most
  171. autoboot controllers.
  172.  
  173.     ZKick  2.0 is the first "public" release.
  174.  
  175. -Dan
  176.  
  177. -----------------------
  178.  
  179. P.S.  This is my first attempt at assembler programming on the 68000.
  180.       I hope you enjoy the results!!!
  181.  
  182. P.P.S.  I'm a college sophomore looking for some part time programming
  183.     work.
  184.  
  185.